Method for using information in another domain, program for using information in another domain, and information transfer program

ABSTRACT

To use data in another domain while executing a script language based on a security limit of an HTTP client. A main program provided to an HTTP client from a first domain executes a first program and the first program urges start of a second program provided to the HTTP client from a second domain. The second program acquires predetermined information from a second domain. Moreover, the second program urges start of a third program provided to the HTTP client from the first domain. Furthermore, a tree structure is used for storing domain browser region the tree and transferring information among a domain server and different domain browser regions.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is the National Stage of International Application No.PCT/JP2007/059963 filed May 15, 2007, which claims the benefit ofJapanese Patent Application No. 2006-135897 filed May 15, 2006, JapanesePatent Application No. 2006-263005 filed Sep. 27, 2006, Japanese PatentApplication No. 2007-082876 filed Mar. 27, 2007, and Japanese PatentApplication No. 2007-082877 filed Mar. 27, 2007, the disclosures ofwhich are incorporated herein by reference in their entireties.

TECHNICAL FIELD

The invention relates to a method for a client to use the information ofa different domain while displaying the current domain, andparticularly, relates to a method for a HTTP (Hyper Text TransferProtocol) client to use the information of a different domain whilerunning a scripting language (Javascript (registered trademark) and thelike) under the security restriction of the HTTP client.

BACKGROUND OF THE INVENTION

In the conventional scripting language (Javascript (registeredtrademark), etc.) under the security restriction of a HTTP client(browser), each HTTP client displaying each different domain cannotexchange the data of each display regions each other.

An applicant does not know the existence of known technical documentsrelating to this field.

DISCLOSURE OF THE INVENTION Subject of Matters to be Solved

The invention improves the conventional disadvantages to enable a HTTPclient (browser) to use the information of a different domain whilerunning the scripting language under the security restriction of theHTTP client.

Solution

The first invention employs the following structure:

The main program with which the first domain HTTP server provides to theHTTP client is assumed to use the information provided from the seconddomain HTTP server in its execution.

The main program with which the first domain HTTP server provides to theHTTP client runs the first program with which an arbitrary domain HTTPserver provides to the HTTP client, and it invokes the second programwith which the second domain HTTP server provides to the HTTP client.The second program acquires the prescribed information from the seconddomain HTTP server and stores it in the storage unit. The second programinvokes the third program with which the first domain HTTP serverprovides to the HTTP client. The second program passes the informationstored in the storage unit after provided by the second domain to theexecution region of the third program. The third program passes thesecond domain information passed from the second program to the firstprogram. Then the main program with which the first domain HTTP serverprovides to the HTTP client can uses the second domain informationpassed from the third program for its running.

The second invention exploits the method of storing the identifier ofthe data-request-program, the first program. The data-request-program asthe first program passes the identifier of the data-request-programstored in the storage unit to the data-distribution-program, the secondprogram. The data-distribution-program passes the identifier of thedata-request-program delivered from the data-request-program to thetransfer-program, the third program. The transfer-program associates theidentifier of the data-request-program delivered from thedata-distribution-program with the second domain information and passesthe association to the HTTP client running the main program. The HTTPclient running the main program passes the second domain information tothe data-request-program whose identifier is one passed from thetransfer-program. The data-request-program enables the main program touse the second domain information passed from the HTTP client.

The third invention employs the following structure: The second domaininformation-acquiring-browser region for acquiring the information fromthe second domain server; the first domain information-transfer-browserregion for passing the information to the information-use-browserregion; the first domain information-use-browser region for acquiringand using the information from the information-transfer-browser region;the storage unit storing a tree structure of plural browser regionsincluding the above browser regions as tree nodes (root, branch, nodeand leaf); the information-transfer-program run in theinformation-transfer-browser region.

The second domain information-acquiring-browser region acquiresinformation from the second domain server and stores it in the storageunit. The program run in the second domain information-acquiring-browserregion opens the first domain information-transfer-browser region andpasses the information which is acquired from the second domain severand stored in the storage unit to the information-transfer-browserregion. The information-transfer-program run in theinformation-transfer-browser region refers to the tree structure storedin the storage unit, and selects the information-use-browser region.Then the information which is acquired from the second domain server andis stored in the storage unit is passed to the first domain selectedinformation-use-browser. The above processes are performed on theclient-server computers.

The fourth invention is the information-transfer-program described abovewhich performs the following steps: acquiring a destination identifierset in the information-use-browser region; selecting the browser regionwhose identifier is set in the information-use-browser region frombrowser regions in the tree structure stored in the storage unit;passing the information acquired from the second domain server to theselected information-use-browser region.

EFFECT OF THE INVENTION

According to the above solution, the first domain browser regionacquiring the information from the first domain browser region, in usingscripting language, can also use the information of the second domainunder the security restriction of the HTTP client.

BEST MODE OF EMBODIMENT Embodiment 1

Hereinafter, the embodiment of the first invention will be describedwith reference to the drawings.

[Description of Configuration]

In FIG. 1, a Domain (1) HTTP server is running on a server computer. Inthe figure, two HTTP servers of the domain (1) are illustrated, whichdesignate the identical HTTP server. Similarly, a Domain (2) HTTP serveris running on a different sever computer. Data to be handled by eachHTTP server is IOed to the storage unit, such as a HDD (Hard Disk Drive)provided to the server computer.

A HTTP client that accesses these HTTP servers is running on a clientcomputer. Two kinds of HTTP clients will be described hereafter, one iscommunicating with the Domain (1) HTTP server and the other iscommunicating with the Domain (2) HTTP server, which will be describedin detail in the DESCRIPTION OF ACTION section. Data to be handled bythe HTTP client is all IOed to the storage unit, such as the HDDprovided to the client computer. In the embodiment, the MicrosoftInternet Explorer is assumed under the Microsoft Windows (registeredtrademark) OS environment as the HTTP client browser.

[Description of Action]

The entire actions are designated by the arrows A-F in the figures. Thefollowing Actions are performed by various computer programs.

[Action A]

A user of the client computer operates an input device to request theHTTP client to read a content program. The HTTP client having receivedthe instruction requests the Domain (1) HTTP server to provide thecontent program.

The Domain (1) HTTP server reads the requested content program from thestorage unit and provides it to the requesting HTTP client.

In the embodiment, the content program is assumed to be written in HTML,which provides the users of the client computer various information. TheHTML contains the logic of Javascript (registered trademark), the logicof which is referred to as the data-request-program (the first program)hereinafter.

The Domain (1) HTTP client invokes the received content program (mainprogram) which contains the data-request-program.

The content program provides the user of the client computer theprescribed information via the output unit, such as a display device.The content program invokes the data-request-program at the sequencestage. Here, the data-request-program is assumed to implement aprescribed callback function. The data-request-program can start by theuser's instruction from an input device, for example.

[Action B, Action C]

The data-request-program runs for the Domain (1) content programaccessing the data provided from the Domain (2) HTTP server. At first,the data-request-program invokes the HTTP client to communicate with theDomain (2) HTTP server and acquire both a data-acquiring-program and adata-distribution-program from the Domain (2) HTTP server. Thedata-acquiring-program and the data-distribution-program are containedin HTML as the logic of Javascript (registered trademark). The requestto the Domain (2) HTTP server is issued as a HTTP GET method in theembodiment. The data-request-program, instructing the GET method to theDOMAIN (2) HTTP, produces an identifier ID of the data-request-programto enable the data-distribution-program to get the ID of thedata-request-program. Because a Javascript (registered trademark)program can acquire the information of an URI (Uniform ResourceIdentifier) of HTML being displayed in the browser region by referringto the property of LOCATION object, by passing the identifier ID of thedata-request-program to the Domain (2) HTTP client at instructing theGET method, the data-distribution-program running on the Domain (2) HTTPclient can acquire the identifier ID of the data-request-program.(hereinafter, unless otherwise specified, the same mechanism is appliedwhen data is exchanged as the GET method between the HTML browserregions.) The identifier ID can be, for example, the function identifierof the data-request-program, or the function identifier of the callbackfunction or the like. The data-request-program having completed thedescribed procedures becomes into the wait sate for the callbackfunction. Then the content program can continue other procedures.

The Domain (2) HTTP server receives the request from the Domain (2) HTTPclient, prepares both the data-acquiring-program and thedata-distribution-program, and provides the Domain (2) HTTP client withthem. The data-distribution-program is given the ID of thedata-request-program.

The data-acquiring-program and the HTTP client provided with it,firstly, invoke the data-acquiring-program (the second program). Thedata-acquiring-program performs the action of acquiring data which theDomain (2) content program needs from the Domain (2) HTTP server. Thedata-acquiring-program is triggered by the event of the input device toacquire the prescribed information by requesting to the Domain (2) HTTP.The Domain (2) HTTP server having received the request prepares therequired data, and provides the data-acquiring-program it. Thedata-acquiring-program stores the data acquired from the Domain (2) HTTPserver in the storage unit.

[Action D and Action E]

The Domain (2) HTTP executes invokes data-distribution-program (thesecond program). The data-distribution-program investigates whether alength of data stored in the storage unit by the data-acquiring-programis acceptable to the GET method, if the length exceeds the acceptableone by the GET method, the data-distribution-program divides the datainto the acceptable length segments, and appends a serial number p todivided each segment v. Additionally, the first segment is attached withthe number of the divided segments divided, num. Thedata-distribution-program stores an association between these segmentsand the attached information in the storage unit.

Subsequently, the data-distribution-program invokes the HTTP clientwhich communicates with the Domain (1) HTTP server, and generates thesame number of executable program regions as the number of the dividedsegments under the control of the HTTP client. In the embodiment,assuming the number of the divided segment is three, the executableprogram regions (1)-(3) are shown. The executable program region isassumed to be a frame generated by IFRAME tag in the embodiment. Thedata-distribution-program reads each segment from the storage unit, anddistributes each segment to one of executable program regions (1)-(3).At this time, the GET method is used.

The data-distribution-program gives a GET statement to each of theexecutable program regions (1)-(3). Each GET statement is appended withthe segment divided as argument. Moreover, each GET sentence is appendedwith the attached information associated with each segment and the ID ofthe data-request-program as arguments.

Concretely, the arguments appended to the GET statement running in theexecutable program region (1) include: the ID of thedata-request-program; the number of divided segments num=3; thesequential segment number p=0; and the first segment v=segment (1). Thearguments appended to the GET statement running in the executableprogram region (2) include: the ID of the data-request-program; thesequential segment number p=1; and the second segment V=segment (2). Thearguments appended to the GET statement running in the executableprogram region (3) include: the ID of the data-request-program; thesequential segment number p=2; and the third (last) segment V=segment(3).

An address which each GET statement requests is an address of a transferprogram which the Domain (1) HTTP server provides.

Assigning each GET statement to each executable program regions (1)-(3),results in that the segments acquired from the Domain (2) HTTP server ispassed to the Domain (1) HTTP client.

The Domain (1) HTTP server having received a GET request from each ofthe executable program regions (1) to (3) reads the requested transferprogram from the storage unit and provides it to each of the executableprogram regions (1)-(3).

Meanwhile, if the length of the data is enough for the GET method toaccept without dividing the data, the only one executable program regionis generated. In this case, the number of divided segment number isnum=1.

[Action F]

Each executable program regions (1)-(3) runs its own transfer program(the third program) provided from the Domain (1) HTTP server. Thetransfer program is written in HTML containing the logic of Javascript(registered trademark).

Each of the transfer programs (1)-(3) first tries to recognize the HTTPclient where the data-request-program is running. The self.parent.parentproperty of the window object is available in the embodiment.

Each of the transfer programs (1)-(3) associates the following: ID ofthe data-request-program passed from the data-distribution-program bythe GET statement; the divided segment number num; the sequentialsegment number p; and the segment v, then passes it to the HTTP clientrunning the data-request-program. Its passing to the identical HTTPclient is done by each of the transfer programs (1)-(3) individually.The HTTP client receiving the information searches thedata-request-program in waiting state according its ID, and passes tothe searched one an association of the number of the divided segmentsnum; the sequential segment number p; the segment from each transferprogram (in the embodiment, the value of num is passed from only thetransfer program (1)).

The passing data from each transfer program to the data-request-programruns in parallel with each transfer program calling thedata-request-program. For example, the callback function of thedata-request-program in the content program is assumed to be named“cbfunc.” The function is implemented in a parent of a parent of thetransfer program. In the logic of the transfer program, calling thefunction self.parent.parent.cbfunc (arg1, arg2, . . . ) passes thearguments arg1, arg2, . . . to the data-request-program.

Since the value is to be passed from the Domain (1) HTTP client to thesame Domain (1) HTTP client, the value can be passed under the securityrestriction of the HTTP client.

The data-request-program resumes from the waiting sate by receiving thevalue. First, it decides the number of received segments corresponds tothe number of divided segments, num, if all the divided segments arereceived, the individual segments v are lined up in order of thesequential segment number p to be concatenated all together, thereby,the entire data provided from the Domain (2) HTTP server isreconstructed.

The data-request-program passes the reconstructed data to the contentprogram, which enables the content program to change a service to theuser based on the provided data from the Domain (2) HTTP server.

[Application 1]

For example, it is applicable that by adding authentication to theDomain (2) HTTP server the Domain (1) content can use the result of itsauthentication to distinguish the service provided to the user.

[Effect of Application 1]

A content creator who just prepares a description of a scriptinglanguage needed for a creator side can use more services of differentdomains, such as an authentication service. Thus, the creator can easilyconstruct an excellent secure E-Commerce site, and is able to use dataof foreign domains without newly implementing a server side mechanism.Additionally, since the long data beyond the GET method restriction canbe divided into acceptable segments, which are concatenated toreconstruct the original data on a HTTP client running the contentprogram by use of the GET method, therefore the any length data can bepassed by the GET method beyond its restriction.

[Variation 1]

Application of INVENTION is not limited to the above embodiment. Forexample, the executable program region, which thedata-distribution-program opens in the Domain (1), is not limited to theframe generated by IFRAME tag, but also a window object can berespectively opened for each of the executable program regions. In theembodiment, the number of divided segment num is associated with onlythe first segment. However, it is applicable that the number of dividedsegment number may can be associated with all segments, and conversely,that one more executable program region can be generated to which onlythe number of the divided segment number num is passed without num beingassociated with any segments.

Furthermore, the POST method rather than the GET method can be exploitedfor passing data from the data-distribution-program to the Domain (1)executable program region. In this case, a CGI corresponding to the POSTis prepared in the Domain (1) HTTP server in advance, thedata-distribution-program passes data by the POST method to the Domain(1) HTTP server and provides the executable program region with aprogram embedded on the CGI side. Additionally, the HTTP client invokedby the data-request-program can run in non-display mode, or can run withdisplay mode depended on requirement. The HTTP client invoked by thedata-request-program and the HTTP client invoked by thedata-distribution-program can be issued with a new window or a frame.

[Variation 2: Data Division]

In the described embodiment of “method for acquiring different Domaininformation,” the description of ACTION D-F explains how thedata-dividing-program divides the requested data into segmentsacceptable to the GET method; the data-request-program concatenates thesegments. Variation of dividing the long data is described.

It is assumed that the targeted information is as follows:name=OgaWa&date=20060531&Domain=kawachi.com&path=index.html&permission=all&perfect

The data-dividing-program divides the above targeted informationaccording to a prescribed rule into plural fragments. Each fragment isan element consisting of the targeted information. Various methods ofdividing the targeted information are available as well as the aboveembodiment: the information is divided by a constant number ofcharacters; the information is divided into even order of characters andodd order of characters; the information is divided at the place of “&”which connects parameters into individual arguments, such as NAME, DATA,DOMAIN and the like. In these cases, it is also applicable that insteadof waiting for receiving the entire information, just receiving theinformation fragments of NAME and DOMAIN, which is reconstructed toconsist of NAME and DOMAIN with ignoring other arguments, which can bedetermined in advance an the side of the data-request-program.Furthermore, the information fragments can be overlapped such that oneis name=Ogawa&date=20060531, and the other information fragment isdate=20060531&Domain=kawachi.com. So long as a length of one informationfragment is within the GET method restriction, the more division rulecan be applicable.

The data-dividing-program can determine an information fragmentidentifier corresponding to every information fragment. “Sequentialnumber” in the above embodiment corresponds to the information fragmentidentifier. The information fragment identifier can be an alignmentsequence of the divided information fragments with sequential numberssuch as 1, 2, 3, etc. In a case of dividing the parameter into argumentbased fragments as in the above, the argument names of each parameter,such as NAME and DATA, can be used as the information fragmentidentifier.

The data-dividing-program can assign to each information fragment anidentifier of the targeted information. This is for the purpose that theinformation fragment needed to reconstruct the entire targetedinformation can be selected based on the targeted information identifieron the side of the data-request-program. The targeted informationidentifier can be given as an identical identifier to every informationfragment, or as a different identifier to the information fragments. Inthe case of giving a different identifier to each information fragment,associating the different identifiers with the common targetedinformation is registered on the data-request-program, and thedata-request-program refers to the method for associating with thetargeted information and selects information fragment whose targetedinformation is common.

Embodiment 2

EMBODIMENT 2 according to the second invention will be described.

[Description of Configuration]

FIG. 2 is the configuration diagram of the computer system in theembodiment. The computer system of the embodiment consists of elementsof a general personal computer: input unit1 such as a keyboard and apointing device; storage unit2 such as RAM (Random Access Memory), ROM(Read Only Memory), an HDD (Hard Disk Drive) and a removable media;display unit3 such as a display monitor; processing unit4 such as a CPU(Central Processing Unit; and communicating unit5 such as NIC (NetworkInterface Card).

FIG. 3 is the configuration diagram of the software ruing on processingunit4. In the embodiment, a HTTP client 12 runs on an OS (OperatingSystem) 11, the HTTP client 12 provides plural browser regions in eitherdisplay or non-display mode. The browser region is a window object or aframe object managed by the HTTP client 12. Hereinafter, the windowobject and frame object are collectively called window objects. The OS11 I/O to the hardware 10 shown in FIG. 1 via the hardware driver 14.

[Operation Description]

FIG. 4 is the relationship diagram of plural browser regions constructedon the HTTP client 12. Each layer block stacked shows a differentbrowser region. The relation of the stacked browser regions is expressedas the lower one is a parent (the upper level), and the upper one is achild (the lower level). In the embodiment, a program running in eachbrowser region is assumed to be written in Javascript (registeredtrademark). The following actions are realized by the processing unit4executing the programs.

Information-acquiring-browser-region of Domain B acquires informationfrom the Domain B HTTP server, and stores the information in the storageunit2.

The program running in the information-acquiring-browser-region of theDomain B opens the information-transfer-browser-region of a Domain A,passes the information to the information-transfer-browser-region, whichis acquired from the server of the Domain B, and stored in the storageunit2.

Several approaches are available on to pass the information to a newlyopened browser region. One is using the GET method. By using GET methodto open a new window object using, a parameter of a URI attached withthe information acquired from the Domain B is passed to it. The newlyopened browser region, that is, the information-transfer-browser-region,contains a the logic of Javascript (registered trademark) and theprogram run in the information-transfer-browser-region can receive theinformation acquired from the Domain B by referring the property ofLOCATION object.

The information-transfer-program run in theinformation-transfer-browser-region refers the parent-child relationshipof the individual browser regions stored in the storage unit2, andselects the browser region which is traceable as a parent or a parent ofa parent from the pointed information-transfer-browser-region. Theselected browser region is referred to as “selected browser region”hereafter.

In the example of FIG. 4, the information-acquiring-browser-region ofDomain B and a browser region of Domain C are traceable according to theparent relation from the information-transfer-browser-region to betargets of selection. The browser region in the upper level than theinformation-acquiring-browser-region is selected. As for tracing theparent, either referring to OPENER property of window object, orreferring to PARENT property of the frame object is available.

In addition, the information-transfer-program refers the parent-childrelationship stored in the storage unit2 to select aninformation-use-browser-region of the Domain A among both traceablebrowser region from the selected browser or the selected browser itself.In other words, the information-transfer-program refers the parent-childrelationship stored in the storage unit2, and selects aninformation-use-browser-region of the Domain A by tracing from theselected region.

In the embodiment, the parent-child relationship stored in the storageunit2 is a parent-child relationship in a tree structure defined ininformation theory. The plural browser regions in the parent-childrelationship are nodes of the tree structure such as the root, branches,nodes and leaves.

In the embodiment, the action for the information-transfer-program toselect one of the information-use-browser-region is performed asfollows:

In the information-use-browser region, the information-use-program runprocessing the information acquired from the Domain B server. Theinformation-use-program and the functions called from it contain thelogic of Javascript (registered trademark). A function processing theinformation acquired from the Domain B server is implemented and isassigned an identifier like “funcname”.

The information-transfer-program has knowledge in advance that theidentifier of the function passed the information acquired from theDomain B server is “funcname” before tracing the information-use-browserregion. The identifier of the information passed function is deliveredfrom the information-acquiring-browser-region to theinformation-transfer-program as an argument of the GET method, and theinformation-transfer-program can get the identifier from the argumentsof the GET method.

The information-transfer-program can get to know which frame object, asa child of “window,” implements the identifier “funcname” function bychecking a value of window.frames[n−1].funcname: The “window” representsthe selected browser region; The frames[n−1] represents the nth frameobject as a child of the selected browser region. The n's maximum valuecan be obtained from the value of windows.frames.length.

The information-transfer-program, discovering the identifier “funcname”function (transfer destination identifier) the Domain A browser regions,selects it as the information-use-browser region.

The information-transfer-program, in case of failing to discover theidentifier “funcname” function, repeats the procedure of discovering the“funcname” function in the further child frame of the investigated childframe. The information-transfer-program can investigate the existence of“funcname” function exists in two lower child frame by checking thevalue of window.frames[n−1]fames[m−1].funcname: frames[m−1] representsthe mth frame object as a child of frames[n−1]. A child of three or moredegree lower can be investigated by the deeper FRAME property.

In the case of failing to discover the function “funcname” by tracing achild of a child from the selected browser region, theinformation-transfer-program makes a parent browser region of thecurrent selected browser region as the new selected browser region. Asdescribed above, the browser region of the parent can be refereed by thePARENT property. Then the information-transfer-program can recognizedwhether the new select browser region implements the identifier“funcname” function. In the case that the new selected browser regiondoes not implementing the function, the above process of discovering the“funcname” function is repeated. The value of WINDOW can be replacedwith the value of window.parent, or the description of window can bereplaced with window.parent. On repeating the above process ofdiscovering the “funcname” function, the checked frame can be omittedfrom the process for discovering the “funcname” function.

By repeating the procedure, all the tree structure based on theinformation-transfer-browser region is investigated for discovering the‘funcname’ function among traceable browser region. This method can beemployed in embodiment 1 as the similar procedure for the transferprogram to search the data-request-program.

In the example of FIG. 4, the information-transfer-browser-regionrecognized the identification of the information-use-browser region iswindow.parent.parenthames[0] from the point of view of theinformation-transfer-browser-region “window”. Similarly, in FIG. 5, theidentification of the information-use-browser region iswindow.parent.parent.parenthames[0]. (it is assumed the index of theframe displaying the information-use-browser region is 0.)

The information-transfer-program passes the information acquired fromthe Domain B server to the “funcname” information-use-functionimplemented in the information-use-browser region by the obtainedidentification of the information-use-browser region. The “funcname”information-use-function performs the prescribed procedures using theinformation acquired from the Domain B server via theinformation-transfer-program. The information-use-function “funcname” isimplemented in the information-use-browser region, as theinformation-use-browser region is a browser region of the Domain A, theinformation-use-browser region can use the information of theinformation-acquiring-browser-region of the Domain B which is acquiredby the information-transfer-program in theinformation-transfer-browser-region of Domain A, within securityrestriction of the HTTP client.

Passing data from the information-transfer-program to theinformation-use-function is done in parallel with theinformation-transfer-program calling the information-use-function. Inthe logic of the information-transfer-program, calling funcname (arg1,arg2, . . . ) is to pass arguments arg1,arg2, . . . to theinformation-use-function.

Effect of Embodiment 2

Both EMBODIMENT 1 and EMBODIMENT 2 enable the HTTP client to usedifferent domains running the scripting language programs in conformitywith security restriction of the HTTP client (browser). The informationof a different Domain can be passed to the browser region along totracing a parent or a parent of a parent from theinformation-transfer-browser-region moreover it can do so to the browserregion with no direct parent-child relationship.

[Variation]

In FIG. 4, the selected browser region having theinformation-use-browser region as child is in the Domain C, which isdifferent from the Domain A of the information-transfer-browser-region.However, the Domain of the information-transfer-browser-region and theDomain of the information-use-browser region are the same so that theinformation can be passed with security restriction of the HTTP browser.That is, the Domain of the selected browser region can be arbitrary.

Even in the cases that the browser regions in FIG. 5 are more stacked asthan that in FIG. 4, and that more browser region is interposed betweenthe information-acquiring-browser-region (Domain B) and theinformation-transfer-browser-region (Domain A), theinformation-transfer-program can discover the information-use-browserregion by the method of embodiment 2.

The invention suggests more embodiments as follows:

In the case of passing the information from theinformation-acquiring-browser-region to theinformation-transfer-browser-region as arguments of the GET method asEMBODIMENT 1, it is feasible to generate pluralinformation-transfer-browser-regions, to each of which the informationfragments can be passed; although the information is received by theinformation-use-function implemented in the information-use-browserregion from the information-transfer-program, which is possible byreplacing the information-use-function to a predetermined variableprepared in the information-use-browser region. In the embodiment, asfor acquiring the child window object under the parent-childrelationship, the child window object is a parent frame generated in theparent window object. However, even in the case that a child windowobject is pulled up as a new window, the pointer to the child window isgenerated by the logic of Javascript (registered trademark) of theparent window, if the parent window displays the window object of thesame Domain of the information-transfer-browser-region, theinformation-transfer-browser-region can acquire the pointer informationto reach the child window. In addition, each window object can be ineither non-display mode or display mode. As for searching a treestructure, various methods may be applicable.

[Network Information Processing System]

The network information processing system exploiting the described“method for acquiring information of a different Domain” will bedescribed.

The network information processing system described in EMBODIMENTrelates to technology of storing the information given by a user of thecurrent Domain displayed by the HTTP client to a different Domain serverunder the environment of client/server HTTP (Hyper Text TransferProtocol) communication.

An user input information to the Domain A web page which the HTTP clientis displaying, then user wishes the information to be transferred and bestored in the different Domain B server.

Moreover, while HTTP client is displaying a Domain A web page, a userwishes to enable the Domain A web page to acquire the information storedin a different Domain B server.

Domain “A” and “B” are only designating to the different Domains, andthe characters “A” and “B” do not have special meanings.

Hereinafter, an embodiment of the network information processing systemwill be described with reference to the drawings.

FIG. 6 is the block diagram of a network information processing systemwhich consists of: a computer network (Internet) 400 linked to a clientcomputer (client) 100; a storage server computer (storage server) 200;and an application server computer (application server) 300.

Each of the computers 100-300 provides a information input unit such asa keyboard and a mouse, a information display unit such as a displaydevice, a information storage unit such as a memory and a HDD (Hard DiskDrive), a information communicating unit such as NIC (Network InterfaceCard), and a information processing unit such as a CPU (CentralProcessing Unit).

In each of the computer 100-300, the information input unit, theinformation display unit and the information processing unit work theirown function and the information communicating unit accesses the storageunit. The information communicating device transmits information amongindividual computers. The information processing unit runs variousprograms with various functionalities.

FIG. 7 is the configuration diagram of programs running on the client100: an OS (Operating System) 101 such as Windows (registered trademark)runs on the client 100; a HTTP client 102 and an extended program 103run on the OS 101; The extended program 103 has the function ofmonitoring the HTTP client 102; The HTTP client 102 provides a standardscript execution environment 104 such as JavaScript (registeredtrademark) and runs a script 105 such as JavaScript (registeredtrademark) program in the script execution environment 104.

In the embodiment, the OS 101 is assumed to be Windows (registeredtrademark); the HTTP client 102 is Internet Explorer (registeredtrademark); the script 105 is JavaScript (registered trademark).

In the embodiment, the script 105 stores user authentication informationp, which is used for authentication to the storage server 200, and whichis acquired in advance from the application server 300 or otherunillustrated servers. As for acquiring the user authenticationinformation p, the described “method for acquiring other Domaininformation” is applied.

The storage server 200 performs a HTTP server with the followingfunctions: authenticating a user of the client 100; storing informationtransmitted from the client 100 in the storage unit; reading informationrequested by the client 100 from the storage unit and transmitting it tothe client 100. In the embodiment, the Domain B is assumed to be set inthe HTTP server run on the storage server 200.

The application server 300 runs the HTTP server with transmitting awebpage containing a script execution instruction to the client 100 viathe HTTP server. In the embodiment, the Domain A which is a differentdomain of the storage server 200 is assumed to be set in the HTTP serverrun by the application server 300.

FIG. 8 is the configuration diagram of the screen which the client 100displays on the display unit. The client 100 displays on the displayunit several OS management regions such as DESKTOP and FOLDER, and onthe OS region content symbols such as icons of a file and thumbnails.The client 100 displays a window of the HTTP client 102 showing thewebpage acquired by the HTTP client 102 from the application server 300.The client 100 forms a content supply region and a content displayregion based on the program description of the webpage.

In the embodiment, when the symbol of the content managed by the OSmanagement region is dragged and dropped into the content supply region,a content instance is transmitted to and stored in storage server 200 bythe extended program 103. The content instance stored in the storageserver 200 is acquired by the HTTP client 102 to display the contentinstance or the content symbol on the content display region. (In a caseof the content being an audio reproduction content, the content displayregion is not always needed). Although detailed actions for the HTTPclient 102 to acquire the content instance stored in the storage server200 are described later, the user of the client 100 can treat thewebpage of the Domain A without being conscious that the content isactually stored in the Domain B.

ACTION of the embodiment is described based on FIG. 9.

The HTTP client 102 requests the webpage containing the script executioninstruction from the Domain A application server 300. The HTTP client102 establishes a connection with the Domain application server 300 ofthe Domain A to request the webpage. The application server 300 providesthe requested webpage to the HTTP client 102 (S1).

The HTTP client 102 displays, in accordance with running the source ofthe received webpage, the Domain A webpage on the display unit of theclient 100 where the content supply region and the content displayregion are formed as shown in FIG. 8. The HTTP client 102 runs the firstscript of the script 105 in accordance with running the source of thewebpage. In the content supply region the predetermined upload pathidentifier for uploading a file to the storage server 200 (Domain B) isembedded in the STYLE attribute of the content supply region object. Theidentifier can be a URL (Uniform Resource Locator) for uploading.

The extended program 103 monitors the event of drag and drop on thecontent symbol from the OS management region into the content supplyregion formed in the webpage.

The user of the client 100 operates the input unit to drag the contentsymbol displayed in the OS management region of the display unit anddrop it into the content supply region in the webpage.

The extended program 103 detects the place where the content symbol isdragged by the predetermined style attribute of the content supplyregion. If the place where the content symbol is dragged is in thecontent supply region, the extended program 103 acquires from the HTTPclient 102 the following: the user authentication information p for theDomain B acquired in advance by the described “method for acquiringother Domain information”; the upload path identification; the storageplace of the content instance (the storage place in the OS managementregion) corresponding to the dropped content symbol. The extendedprogram 103 transmits the content instance to the acquired upload path,that is, the storage server 200 of the Domain. The extended program 103issues a POST method with the storage place of the content instance(S3). The user authentication information p for the Domain B is attachedto the parameter of the POST method.

The storage server 200 having received the POST investigates validity ofthe POST based on the user authentication information p attached to thePOST. In a case of valid access, the storage server 200 receives thecontent instance as the target of the POST from the client 100, andstores it in a predetermined storage place (storage region). The storageserver 200 notifies the extended program 103 of the completion ofstoring it as response to the POST.

The script execution environment 104 is on standby for calling thecallback function (the second script of the script 105) to acquire thestored content instance from the storage server 200. The extendedprogram 103, when receiving the notification of storing completion fromthe storage server 200, instructs the HTTP client 102 to invoke thecallback function. The HTTP client 102 calls the callback function.Here, it may be sufficient the first script and the second script of thescript 105 can be independent each other.

On activating the callback function, the HTTP client 102 requests a filelist to the storage server 200 according to the description of thecallback function. The file list is a list of files stored in thestorage unit of the storage server 200, that is, a list of the contentinstance stored in the storage unit of the storage server 200 by dragand drop once or many times. The file list includes the file names ofthe content instances, and information of a URL (Uniform ResourceLocator) for acquiring the file. Since the HTTP client 102 displayingthe Domain A webpage requests the file list from the Domain B storageserver 200, the described “method for acquiring other Domaininformation” is applied.

The storage server 200, on receiving the request for the file list fromthe HTTP client 102, reads the requested file list from the storageunit, sends it to the HTTP client 102 by the described “method foracquiring other Domain information.”

The HTTP client 102 receives the file list and passes to the callbackfunction. The callback function having acquired the file list reads theassociation between the file name and a file path described in the filelist for every file, and rewrites the values of inner HTML with respectto a HTML of the content display region to generate such a HTML foracquiring images for every file as below. The image content is assumed;however, other kinds of contents can be so long as it is suitable for amatter of the HTML.

[number 1] [the acquired file]+‘<br>’+ ‘<img src=“‘[the file path of theacquired file]+’”><br>’

The HTTP client 102 performs the HTML processing for acquiring imagesgenerated in the content display region. The HTTP client 102 requeststhe content files of the file path listed in the file list to thestorage server 200. The storage server 200 reads the requested contentfile based on a designation of the file path attached to the requestfrom the storage unit, and sends it to the HTTP client 102. The HTTPclient 102 reproduces the content file received from the storage server200 in the content display region.

According to the embodiment described above, while the HTTP client 102displays the Domain A webpage, the information provided to the Domain Awebpage can be stored in the Domain B storage server 200. While the HTTPclient 102 displays the Domain A webpage, the Domain A webpage canacquire the information stored in the Domain B server and use itdynamically.

In the above embodiment, the HTTP client 102 acquires the authenticationinformation p from the storage server 200. It is also applicable thatthe extended program 103 can acquire the authentication information pfrom the storage server 200. The extended program acquires theinformation needed for authentication such as a user ID and a passwordby making the user input them. Plural content symbols displayed on theOS management region can be dragged and dropped so as to uploadcontinuously plural contents to the storage server 200.

In the above embodiment the image file of the content is targeted to beacquired as the information relating to the content. It is alsoapplicable that the file list acquired as the information relating tothe content includes the name, type and sizes in every file, andcontents of the file list can be displayed on the content displayregion.

BRIEF DESCRIPTION OF DRAWING

FIG. 1 is the block diagram showing configurations and ACTION ofEmbodiment 1.

FIG. 2 is the block diagram of the hardware configuration of EMBODIMENT2.

FIG. 3 is the block diagram of a software configuration of EMBODIMENT 2.

FIG. 4 is the explanatory diagram for explaining ACTION of EMBODIMENT 2.

FIG. 5 is the explanatory diagram for explaining ACTION of EMBODIMENT 2.

FIG. 6 is the block diagram showing the structure of EMBODIMENT of thenetwork information processing system.

FIG. 7 is the configuration diagram of software running on the clientcomputer.

FIG. 8 is the configuration diagram of the screen of the display unitdisplayed by the client computer.

FIG. 9 is ACTION diagram of the system shown in FIG. 6.

DESCRIPTION OF SYMBOL

-   A-F FLOW OF ACTION

The invention claimed is:
 1. A method for enabling a main program withwhich a first domain HTTP server provides to a HTTP client to accessinformation provided from a second domain HTTP server, the methodcomprising running, by the main program with which the first domain HTTPserver provides to the HTTP client a first program with which anarbitrary domain HTTP server provides to the HTTP client, the firstprogram invoking a second program with which the second domain HTTPserver provides to the HTTP client; acquiring, by the second program,the prescribed information from the second domain HTTP server andstoring it in the storage unit; invoking, by the second program a thirdprogram with which the first domain HTTP server provides to the HTTPclient; passing, by the second program, information stored in thestorage unit after provided by the second domain to an execution regionof the third program; passing, by third program second domaininformation passed from the second program to the first program, suchthat the main program with which the first domain HTTP server providesto the HTTP client can use the second domain information passed from thethird program for running the main program; storing an identifier of adata-request-program, the first program, wherein data-request-program asthe first program passes the identifier of the data-request-programstored in the storage unit to a data-distribution-program, the secondprogram; wherein the data-distribution-program passes the identifier ofthe data-request-program delivered from the data-request-program to atransfer-program, the third program; wherein the transfer-programassociates a identifier of the data-request-program delivered from thedata-distribution-program with the second domain information and passesan association to the HTTP client running the main program, wherein theHTTP client running the main program passes the second domaininformation to the data-request-program whose identifier is one passedfrom the transfer-program, such that the data-request-program enablesthe main program to use the second domain information passed from theHTTP client.
 2. A method for using information of a different domain,the method comprising: acquiring, by a second domaininformation-acquiring-browser region information from a second domainserver and storing the information in a storage unit; passing, by afirst domain information-transfer-browser region, information to ainformation-use-browser region, wherein the first domaininformation-use-browser region is for acquiring and using theinformation from the information-transfer-browser region; storing, bythe storage unit: a tree structure of plural browser regions includingthe second domain information-acquiring-browser region, the first domaininformation-transfer-browser region, the information-use-browser region,and the first domain information-use-browser region as tree nodes,wherein a information-transfer-program runs in theinformation-transfer-browser region; opening, by a program run in thesecond domain information-acquiring-browser region, the first domaininformation-transfer-browser region, wherein the program passes theinformation which is acquired from the second domain sever and stored inthe storage unit to the information-transfer-browser region; selecting,by the information-transfer-program run in theinformation-transfer-browser region that refers to the tree structurestored in the storage unit, information-use-browser region; and theinformation-transfer-program acquires a destination identifier set inthe information-use-browser region; selects a the browser region whoseidentifier is set in the information-use-browser region from browserregions in the tree structure stored in the storage unit; and passes theinformation acquired from the second domain server to the selectedinformation-use-browser region.